const path = require('path');

function addStyleResource(rule) {
	rule.use('style-resource')
		.loader('style-resources-loader')
		.options({
			patterns: [
				// path.resolve(__dirname, './src/assets/css/reset.styl'),
				path.resolve(__dirname, './src/assets/css/variable.styl')
			],
		})
}


module.exports = {
	publicPath: process.env.NODE_ENV === 'production' ? './' : './',
	runtimeCompiler: true,
	productionSourceMap: false, // 不需要生产环境的 source map - false
	devServer: {
		port: 6754,
		hot: true,
		open: true,
		disableHostCheck: true,
		proxy: {
			'/api': {
				target: 'http://apis.weilaixiaozhao.com/', // 目标接口域名
				// target: 'http://zpapi.fooce.cn/', // 目标接口域名
				pathRewrite: {
					'^/api': '', // 把 /api 替换成 /
					changeOrigin: true // 表示是否跨域
				}
			}
		},
	},
	css: {
		// 是否使用css分离插件 ExtractTextPlugin
		extract: process.env.NODE_ENV === 'production',
		// 开启 CSS source maps?
		sourceMap: process.env.NODE_ENV === 'development',
		// css预设器配置项
		loaderOptions: {},
		// 启用 CSS modules for all css / pre-processor files.
		modules: false
	},

	chainWebpack: config => {
		// console.log(process.env.NODE_ENV)
		const types = ['vue-modules', 'vue', 'normal-modules', 'normal'];
		types.forEach(type => addStyleResource(config.module.rule('stylus').oneOf(type)));
		// 移除 prefetch 插件
		config.plugins.delete('prefetch');
		// config.plugin('prefetch').tap(options => {
		// 	options[0].fileBlacklist = options[0].fileBlacklist || [];
		// 	options[0].fileBlacklist.push(/myasyncRoute(.)+?\.js$/);
		// })
	},
	// configureWebpack: {output: {globalObject: 'this'}}
}
